Hierarchical diagrams are diagrams, such as block diagrams, which are divisible into levels and further divisible into sub-levels associated with the levels. A user viewing a hierarchical diagram on an electronic device usually views a single active level or sub-level at a time. For example, a user initially viewing a hierarchical diagram on an electronic device may see the only the top level. The displayed level may contain a graphical reference to a sub-level, but the sub-level contents are not initially displayed. The conventional method of accessing the sub-level of the hierarchical diagram requires the user to manipulate a pointing device, such as a mouse, so that a cursor appearing in the display travels to a graphical representation of the sub-level. The user is then required to click or double-click on the graphical representation in order to change the view on the display to the view of the sub-level contents. The conventional process requires the user to continually stop and then restart the mouse or other pointing device when changing displayed levels.
Many applications, such as block diagram editors, allow a user of an electronic device to draw graphical connections between levels and associated sub-levels. Traditionally, this has been done with a block diagram editor by drawing a connection from a first block displayed in a level to a block which is a graphical representation of a sub-level, often with the aid of a user-manipulated pointing device. Once the line drawn by the user reaches the graphical representation of the sub-level, the user is required to discontinue drawing the line in order to access the sub-level contents by clicking or double clicking on the graphical representation of the sub-level to display the contents of the sub-level. After the sub-level contents are displayed the user may then start drawing the connection again. In order to restart the connection drawing process however, the user is faced with the task of connecting the line the user was drawing at the previously displayed level with the line in the sub-level contents that were just displayed. The conventional process requires the user to interrupt the drawing of connections in order to switch levels and further requires the user to manually join the connection line of the sub-level with the connection line drawn for the level.
FIG. 1 depicts a prior art arrangement where a display 1 displays a level 2 of a hierarchical diagram to a user of an electronic device. The displayed level 2 includes a graphical reference to a sub-level 3 and a cursor icon 4 which moves about the display 1 in response to user movements of a pointing device. Those skilled in the art will appreciate that a keyboard or keypad, instead of or as well as a pointing device, may be used to manipulate the cursor in some embodiments. The conventional methods of changing the view in the display 1 from the level 2 of the hierarchical diagram to an associated sub-level 5 involves the user manipulating the cursor 4 to a superimposed position over the graphical reference to the sub-level 3 and manipulating the pointing device to select the graphical reference to the sub-level. For example, if the pointing device is a mouse, the user clicks or double-clicks the mouse. Following the clicks of the pointing device, the sub-level 5 is displayed on the display 1.
FIG. 2 depicts a display 1 that has locations that are identified by a coordinate system that includes X coordinates 8 and Y coordinates 9. Two cursor positions 10 and 11, also appear on the display 1. The locations of items which appear on the display 1 may be expressed in these screen coordinates. The coordinates are logical units which are translated pursuant to the mapping mode being utilized by the operating system of the electronic device interfaced with the display. For example, the Windows™ operating system from Microsoft Corporation of Redmond, Wash. has numerous mapping modes including MM_TEXT which uses the orientation depicted in FIG. 3 with a point of origin in the upper left corner of the display. In the MM_TEXT mapping mode, X coordinates 8 increase from left to right and Y coordinates 9 increase from top to bottom as indicated. Thus the cursor postion would be expressed in terms of coordinates (x, y). The cursor coordinates represent a cursor “hot spot” which is a small portion of the total cursor. In the case of the depicted cross type cursor at cursor position 10, the coordinates from the center of the cross would be used to calculate the cursor position on the display 1. The cursor position 10 may have coordinates (125, 20) while the cursor position 11 may have coordinates (20, 125). Other mapping modes assign values to the coordinate axes in different manners. For example, in another Windows™ mapping mode, MM_LOMETRIC, the X coordinates 8 increase in value from left to right, but the Y coordinates 9 decrease in value from top to bottom. Other mapping modes use other orientations for X coordinates 8 and the Y coordinates 9, including allowing them to be user-defined. In the MM_TEXT mapping mode, one coordinate value equals one pixel width of the display. The actual size of the pixel depends upon the screen resolution being employed. However, other mapping modes translate the logical units into set distances, such as 0.1 mm (MM_LOMETRIC) or 0.01 inches (MM_LOENGLISH).
The coordinates of a cursor appearing on the display 1 have an assigned X coordinate value and an assigned Y coordinate value. As the user moves the cursor by manipulating the pointing device, messages are generated that report the new position of the cursor in x, y coordinates. The operating system 15 uses the coordinates contained in the messages to update the display 1 being shown to the user by redrawing the position of the cursor. The operating system 15 also keeps track of other objects appearing in the display 1 so that the display of those objects can be updated to take into account the movement of the cursor. For example, if a cursor has moved, the new position of the cursor is shown in the display. If the cursor position is within an area in the display 1 already recorded as holding a displayed object, the cursor is redrawn in a superimposed position on top of the object. The coordinates detailing the location of the cursor are available to applications which register a request with the operating system.